<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <link rel="stylesheet" href="./lib/bootstrap.css" />
  <script src="./lib/jquery.js"></script>
</head>

<body style="padding: 15px;">
  <!-- 添加图书的Panel面板 -->
  <div class="panel panel-primary">
    <div class="panel-heading">
      <h3 class="panel-title">添加新图书</h3>
    </div>
    <div class="panel-body form-inline">
      <!-- 顶部进行图书新增的结构部分 -->
      <div class="input-group">
        <div class="input-group-addon">书名</div>
        <input type="text" class="form-control" id="iptBookname" placeholder="请输入书名">
      </div>

      <div class="input-group">
        <div class="input-group-addon">作者</div>
        <input type="text" class="form-control" id="iptAuthor" placeholder="请输入作者">
      </div>

      <div class="input-group">
        <div class="input-group-addon">出版社</div>
        <input type="text" class="form-control" id="iptPublisher" placeholder="请输入出版社">
      </div>
      <!-- 点击添加新图书 -->
      <button id="btnAdd" class="btn btn-primary">添加</button>

    </div>
  </div>


  <!-- 图书的表格 -->
  <table class="table table-bordered table-hover">
    <thead>
      <tr>
        <th>Id</th>
        <th>书名</th>
        <th>作者</th>
        <th>出版社</th>
        <th>操作</th>
      </tr>
    </thead>
    <tbody id="tb">
      <!-- 用于放置图书信息的tbody标签 -->

    </tbody>
  </table>

  <script src="./lib/jquery.js"></script>
  <script>
    /*
      分析：
        1 请求服务端的图书信息，进行表格展示
          - 根据接口请求数据，进行字符串拼接后，生成到tbody中即可
        2 新增图书功能
        3 删除功能
    */

    // 1 图书信息展示功能
    //  1.1 请求图书信息
    //    - 由于是获取所有的图书信息，无需传入请求参数
    $.get('http://www.liulongbin.top:3006/api/getbooks', function (res) {
      // 1.2 检测是否成功的请求到数据：检测status属性是否为200
      /* if (res.status === 200) {
        console.log('成功获取到数据');
      } else {
        alert('网络开小差了，请稍后再试!~');
      } */

      // 下面是第二种检测的写法，可以减少代码的嵌套层数(推荐)
      if (res.status !== 200) {
        alert('网络开小差了，请稍后再试!~');
        return;
      }

      // 1.3 根据数据拼接对应的结构字符串
      var data = res.data;
      //  - 字符串的拼接方式和数组的处理方式功能相同，自由选择即可
      var str = ''; // 用于保存拼接的结构字符串
      // var arr = [];
      $.each(data, function (i, ele) {
        // 每一个对象中具有多个属性，每个属性对应的内容形式略有不同，推荐使用单次的拼接方式

        str +=
          '<tr>\
            <td>' + ele.id + '</td>\
            <td>' + ele.bookname + '</td>\
            <td>' + ele.author + '</td>\
            <td>' + ele.publisher + '</td>\
            <td><a href="javascript:;">删除</a></td>\
          </tr>';

        /* str +=
          `<tr>
            <td>${ele.id}</td>
            <td>${ele.bookname}</td>
            <td>${ele.author}</td>
            <td>${ele.publisher}</td>
            <td><a href="javascript:;">删除</a></td>
          </tr>`; */
        // arr.push('<tr></tr>');
      });
      // console.log(str);
      // console.log(arr.join(''));

      // 1.4 将拼接的结构字符串生成到html页面的tbody中
      $('#tb').html(str);


    });
  </script>

</body>

</html>